import { WebSocketServer } from "ws";

// 启动 web socket 服务
const wss = new WebSocketServer({ port: 8080 });

/*
  npm i nodemon -g
  将来可以使用 nodemon 运行node项目
  特点：对服务器进行热更新
*/

// 当有客户端连接上当前 web socket 服务，就会触发 connection 事件
wss.on("connection", (socket) => {
  // socket 就是连接上的客户端对象
  console.log("客户端连接事件: connection~~~");
  // 绑定接受客户端消息的事件
  socket.on("message", (data) => {
    console.log("客户端发送的消息：", data.toString());
    // 将消息转发给其他人
    // wss.clients 所有连接上的客户端对象
    wss.clients.forEach((client) => {
      if (client === socket) return;
      client.send(data.toString());
    });
  });
});
